CIRCL is a library written in Go and contains a variety of cryptographic algorithms for supporting secure communication protocols such as the Internet TLS protocol. Released in 2019, CIRCL started as a complement to the Go standard library that includes algorithms in an experimental phase or closer to be standardized, as well as performance optimizations for speeding up practical use cases. At Cloudflare, CIRCL is the cornerstone library that empowers the transition to quantum-resistant algorithms currently running in our world-wide network.
In this talk, we would like to share to the community the efforts and challenges we have faced on the development and maintenance of a cryptographic library. Part of the content includes our testing methodology, details about performance optimizations, how to safely write functions in assembly, and the exploration of more advanced encryption systems such as: elliptic curve groups, bilinear pairings, threshold signatures, attribute-based encryption, among others.
We believe sharing our experiences is valuable for developers, engineers, and anyone with interest on learning more about cryptography.